package com.example.fruitdb.service;

import com.example.fruitdb.entity.User;
import com.example.fruitdb.entity.vo.MessageModel;
import com.example.fruitdb.mapper.UserMapper;
import com.example.fruitdb.util.GetSQLSession;
import com.example.fruitdb.util.StringUtil;
import org.apache.ibatis.session.SqlSession;

/**
 * 业务逻辑
 */
public class UserService
{
    /**
     * 用户登录
     *
     * @param uname
     * @param upassword
     * @return
     */
    public MessageModel userLogin(String uname, String upassword)
    {
        MessageModel messageModel = new MessageModel();

        User u = new User();
        u.setUserName(uname);
        u.setUserPassword(upassword);
        messageModel.setObject(u);

        if(StringUtil.isEmpty(uname) || StringUtil.isEmpty(upassword))
        {
            messageModel.setCode(0);
            messageModel.setMsg("用户名和密码不能为空");
            return messageModel;
        }

        //2.
        SqlSession session = GetSQLSession.createSQLSession();
        UserMapper userMapper = session.getMapper(UserMapper.class);
        User user = userMapper.queryUserByName(uname);

        //3.判断用户对象是否为空
        if(user == null)
        {
            messageModel.setCode(0);
            messageModel.setMsg("用户不存在");
            return messageModel;
        }

        //4.比较密码
        if(!upassword.equals(user.getUserPassword()))
        {
            messageModel.setCode(0);
            messageModel.setMsg("用户密码错误");
            return messageModel;
        }

        messageModel.setObject(user);
        return messageModel;
    }
}
